home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Microsoft Graphics Studio: Home Publishing 99
/
[Microsoft Graphics Studio] Home Publishing 99 (Blue) Disk 2.iso
/
mhp
/
template
/
egp3096.mtu
/
EGP3096.MTU
Wrap
Text File
|
1998-08-10
|
86KB
|
2,381 lines
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_0CFC_01BDBEBB.7FB17520";
type="multipart/alternative"
X-MMEditor: 00.00.02.1994,MinSave
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
This is a multi-part message in MIME format.
------=_NextPart_000_0CFC_01BDBEBB.7FB17520
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0CFD_01BDBEBB.7FB17520"
------=_NextPart_001_0CFD_01BDBEBB.7FB17520
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Your Message Here.
------=_NextPart_001_0CFD_01BDBEBB.7FB17520
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MMEditor Version 00.00.02.1994,MinSave" =
name=3DGENERATOR>
<STYLE id=3DDocStyleSheet>.PreCreateRule {
POSITION: absolute
}
.DocClientData {
LEFT: 0px; OVERFLOW: hidden; POSITION: absolute; TOP: 20px; VISIBILITY: =
visible
}
.RuntimeScriptDiv {
LEFT: -3200px; POSITION: absolute; TOP: -3200px; VISIBILITY: hidden
}
.SoundElementsDiv {
LEFT: -3200px; POSITION: absolute; TOP: -3200px; VISIBILITY: hidden
}
.Sx9 {
HEIGHT: 301px; LEFT: 10px; OVERFLOW: hidden; POSITION: absolute; TOP: =
30px; VISIBILITY: hidden; WIDTH: 571px; Z-INDEX: 100
}
.PD10 {
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: =
0px; HEIGHT: 300px; LEFT: 0px; POSITION: absolute; TOP: 0px; VISIBILITY: =
inherit; WIDTH: 570px; Z-INDEX: 50
}
.Ix11 {
BACKGROUND-COLOR: #ffffff; BACKGROUND-REPEAT: no-repeat; BORDER-BOTTOM: =
0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: 0px; LEFT: 0px; =
POSITION: absolute; TOP: 0px; VISIBILITY: inherit; Z-INDEX: 51
}
.PT12 {
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: =
0px; HEIGHT: 74px; LEFT: 168px; PADDING-BOTTOM: 9px; PADDING-LEFT: 9px; =
PADDING-RIGHT: 9px; PADDING-TOP: 9px; POSITION: absolute; TEXT-ALIGN: =
left; TOP: 14px; VISIBILITY: hidden; WIDTH: 203px; Z-INDEX: 100
}
.Ix28 {
LEFT: 0px; POSITION: absolute; TOP: 0px; VISIBILITY: inherit; Z-INDEX: =
52
}
DIV {
FONT-FAMILY: Times New Roman
}
</STYLE>
<STYLE id=3DFontStyleSheet>@font-face {
font-family: Papyrus;
=
src:url(cid:0cfa01bdbef6$2bfdfda0$ed5d389d@superwonker.dns.microsoft.com)=
;
}
</STYLE>
</HEAD>
<BODY background=3D"" bgColor=3D#c0c0c0 leftMargin=3D0 topMargin=3D0>
<DIV class=3DPreCreateRule id=3DNavigationButtons style=3D"VISIBILITY: =
hidden">
<FORM name=3DNavigationButtonsForm><INPUT name=3DStart type=3Dbutton =
value=3D"Play >/Replay >"><INPUT name=3DBackward type=3Dbutton =
value=3D"Back <<"><INPUT name=3DForward type=3Dbutton value=3D"Forward =
>>"><INPUT name=3DWebpage type=3Dbutton value=3DAbout...><INPUT =
name=3DSceneStatus type=3Dbutton value=3D" Loading... "></FORM></DIV>=20
<DIV class=3DDocClientData id=3DDocClientData GW_NextID =3D 33 AOPTable =
=3D=20
" <AR|ARS1| <AP|APa{guid =
{A3649D6E-5058-11CF-9E27-00AA00BBB8AF}}|APbGreetings Workshop|>|>|"=20
ProjectType =3D "multimedia greeting" OutputStyle =3D "short page for =
brief message"=20
KeyWords =3D null skuGW =3D null skuGWDelux =3D 1 skuOE =3D null =
lclEnglish =3D 1 lclZ =3D=20
null lclFrench =3D null lclJ =3D null Themes =3D=20
" <AR|ARS1| =
<TT|TTa5|TTb0|TTc30835|TTd5|TTe0|TTf30836|TTg5|TTh0|TTi30842|>|>|">
<DIV class=3DSx9 id=3DSx9 PageEffect =3D=20
" <PE| <TR|TRa13|TRb2|TRc2|TRd1|TRe2|>|PEa0|PEb10|>|" SoundPaths =3D=20
" <AR|ARS1| <SN| =
<CP|CPa4A00000030300000000000000C000000000000640000C1000000A384F4D45435E4=
D4D4C5D41494E4C5A403037343237393E2D4944400FFFFDAED00000000000000000000000=
0000000000000000000000000CC00C000B0005000E10081104100811041008AD0E6010000=
000000000000000000000000000000000000000000000000000004FC66010000000081000=
0000000000000000000000035741445000070870000C3000000|CPbX:\v3Contnt\clipme=
d\sound\j0074000\j0074279.mid|CPccid:03db01bd9953$7fdf0720$5c5a389d@emma2=
.dns.microsoft.com|CPdj0074279.mid|>|SNa0|SNb1|SNc1|SNd0|SNe0|>|>|"=20
PageName =3D PD10>
<DIV class=3DPD10 id=3DPD10 PageName =3D Ix28 CAGQueryIndx =3D 0 =
ClipPathInfo =3D=20
" =
<CP|CPa8C00000030300000000000000C00000000000064000052000000A384F4D4540525=
54D4C5D41494E4C584D4052544942523C5A403037333936353E274946400FFFFDAED00000=
0000000000000000000000000000000000000000000009300360003004200560016005300=
4600330083009300460004001600D2005600D600D60016006700E2004600E6003700E200D=
600960036002700F6003700F60066004700E2003600F600D6000000050150006100500026=
018F9BAA3088D6CA30000000000000000084F361C000000000|CPbX:\v3Contnt\clipmed=
\mmclips\j0073000\j0073965.gif|CPccid:03d601bd9953$580faec0$5c5a389d@emma=
2.dns.microsoft.com|CPdj0073965.gif|>|"=20
NoBackground =3D 0 PolyPath =3D=20
1,6,0.286865,137.319,0,300,570,300,570,0,0.286865,0,0.286865,137.319,0,0,=
><IMG=20
class=3DIx28 id=3DIx28=20
src=3D"cid:03d601bd9953$580faec0$5c5a389d@emma2.dns.microsoft.com"><IMG =
class=3DIx11=20
id=3DIx11 name=3DIx11=20
src=3D"cid:0cf401bdbef6$2bb311f0$ed5d389d@superwonker.dns.microsoft.com">=
=20
</DIV> =20
<DIV class=3DPT12 id=3DPT12 SoundPaths =3D " <AR|ARS0|>|" EntranceEffect =
=3D=20
" <EE| =
<TR|TRa7|TRb1|TRc2|TRd1|TRe2|>|EEa1|EEb0|EEc0|EEd100|EEf0|EEg1|>|"=20
TravelEffectOptions =3D " <TE|TEa0|TEb2|TEc0|TEd0|>|" ExitEffect =3D=20
" <EE| =
<TR|TRa0|TRb2|TRc2|TRd1|TRe2|>|EEa0|EEb0|EEc100|EEd0|EEf0|EEg0|>|"=20
ButtonEvent =3D=20
" <BE|BEa0|BEc| <CP|CPaNIL|CPb|CPc|CPd|>| <CP|CPaNIL|CPb|CPc|CPd|>| =
<CP|CPaNIL|CPb|CPc|CPd|>|>|"><STRONG><FONT=20
color=3D#000000 face=3DPapyrus size=3D4>Your Message=20
Here.</FONT></STRONG></DIV></DIV></DIV> =20
<DIV class=3DSoundElementsDiv id=3DSoundElementsDiv> <BGSOUND =
id=3DAW32 soundsrc=20
=3D cid:03db01bd9953$7fdf0720$5c5a389d@emma2.dns.microsoft.com> <IMG=20
src=3D""></DIV> =20
<DIV id=3DNavSoundElementsDiv> <EMBED hidden=3Dtrue id=3DAW32nav =
name=3DAW32nav=20
src=3Dcid:03db01bd9953$7fdf0720$5c5a389d@emma2.dns.microsoft.com =
autostart =3D no=20
MASTERSOUND></DIV>
<SCRIPT id=3DRuntimeScript language=3DJavaScript>
if ( navigator.appVersion.substring(0,1) < 4 )
alert("Sorry but your Web browser needs to be updated. You must have at =
least a version 4.0 browser to view this project.");
if ( navigator.appName !=3D "Netscape" ) =09
{ =09
document.body.background =3D ""; =09
for ( var ii=3D0; ii<document.all.length; ii++ ) =09
if ((document.all.item(ii).id).indexOf("Sx") !=3D -1) =09
document.all.item(ii).style.filter=3D"revealTrans(duration=3D0, =
transition=3D0)"; =09
} =09
var OBJ_SCENE =3D 0; =09
var OBJ_PLAYER =3D 1; =09
var PLAYER_IMAGE =3D 0; =09
var PLAYER_TEXT =3D 1; =09
var PLAYER_DRAW =3D 2; =09
var NAME_SCENE =3D "S" =09
var NAME_PLAYER =3D "P" =09
var PLAYER_NAME_IMAGE =3D "I" =09
var PLAYER_NAME_TEXT =3D "T"
var PLAYER_NAME_DRAW =3D "D"
var IE_VISIBLE =3D "visible";
var IE_HIDDEN =3D "hidden";
var IE_INHERIT =3D "inherit";
var NAV_VISIBLE =3D "show";
var NAV_HIDDEN =3D "hide";
var NAV_INHERIT =3D "inherit";
var DEFAULT_TICK_RATE =3D 100; =09
var DEFAULT_SCENE_DURATION =3D 10000;=09
var DEFAULT_PLAYER_DELAY =3D 0; =09
var TMR_PROJ =3D 0; =09
var TMR_SCENE =3D 1; =09
var RR_NONE =3D 0; =09
var RR_PAGE_BUTTONS =3D 1; =09
var RR_FULL_RUNTIME =3D 2; =09
var DUR_FOREVER =3D -1; =09
var DELAY_NONE =3D 0; =09
var DELAY_UNTIL_TRANSITION =3D -1; =09
var DELAY_UNTIL_TRIGGER =3D -2; =09
var DUR_UNTIL_DONE =3D -1; =09
var TT_ALL_MOUSE_EVENTS =3D 0; =09
var TT_BUTTONDOWN =3D 1; =09
var TT_BUTTONUP =3D 2; =09
var TT_MOUSEOVER =3D 3; =09
var TT_MOUSEOUT =3D 4; =09
var TB_PAGE_TURNER =3D -1; =09
var TB_START_PLAYER =3D -2; =09
var NULL_TRANSITION =3D -1;
var TEXT_FLYIN =3D 101;
var TEXT_TYPEWRITER =3D 102;
var FLYIN_TOP =3D 0;
var FLYIN_BOTTOM =3D 1;
var FLYIN_LEFT =3D 2;
var FLYIN_RIGHT =3D 3;
var FLYIN_ROTATE =3D 4;
var FLYIN_BY_LETTER =3D 1;
var FLYIN_BY_WORD =3D 2;
var FLYIN_BY_LINE =3D 3;
var FLYIN_PER_TICK =3D new Array (200, 160, 120, 80, 40); =09
var TRANSITION_RATES =3D new Array(1,2,3,4,5); =09
var PS_UNINITIALIZED =3D 0;
var PS_INITIALIZED =3D 1;
var PS_RUNNING =3D 2;
var PS_PAUSED =3D 3;
var PS_COMPLETE =3D 4;
var sceneArray =3D new Array();=09
var currentScene =3D null; =09
var nScenes =3D 0; =09
var stProjState =3D PS_UNINITIALIZED;=09
var stButtons =3D false; =09
var stNoInput =3D 0; =09
var strPause =3D new Array( "" );
var strPlay =3D new Array( "" );
var formStatus =3D null;
var tickTimer =3D null; =09
var sys =3D navigator.appName; =09
var vers =3D navigator.appVersion.substring(0,1); =09
var os =3D navigator.appVersion.indexOf("NT") >=3D 0 ? "NT" : "95";=09
var platform =3D navigator.platform; =09
window.onload =3D PreSetup;
window.onerror =3D Error;
function Error()
{
alert("There has been an unidentified error in this file's script. You =
may be able to fix this problem by refreshing your browser.");
return true;
}
function Project( tickRate, startScene, stopScene, rtReq, autoStart, =
delay, webpage )
{
this.tickRate =3D tickRate;
this.startScene =3D startScene;
this.stopScene =3D stopScene;
this.rtReq =3D rtReq;
this.autoStart =3D autoStart;
this.delay =3D delay;
this.webpage =3D webpage;
}
function PreSetup()
{
if ( (Project.delay !=3D null) && (Project.delay !=3D 0) ) =09
{
setTimeout( "Setup();", Project.delay*1000 );=20
return;
}
=09
Setup();
}
function Setup()=20
{ =20
stNoInput++; =09
if ( vers < 4 ) return; =09
if ( sys =3D=3D "Netscape" ) =09
{
document.all =3D new Array; =09
Extract(document); =09
=09
document.body =3D new Object;
document.body.clientWidth =3D window.innerWidth;
document.body.clientHeight =3D window.innerHeight;
document.body.scrollTop =3D window.pageXOffset;=20
document.body.scrollLeft =3D window.pageYOffset;
}
stButtons =3D SetupButtons(); =09
ProjectInitialize(); =09
stNoInput--; =09
if ( (stButtons =3D=3D false) || (Project.autoStart =3D=3D true) )=09
Start(); =09
}
function ProjectInitialize()
{
=09
tickTimer =3D new Timer();
=09
=09
InitializeScenes();
=09
tickTimer.StartTicking(); =09
=09
if ( Project.startScene =3D=3D null ) =09
Project.startScene =3D 0; =09
stProjState =3D PS_INITIALIZED; =09
=09
}
function ProjectStart( startScene )
{
stProjState =3D PS_RUNNING;
if ( startScene !=3D null )
ChangeScene( startScene );
else
ChangeScene( Project.startScene );
}
function ProjectComplete()
{
if ( Project.rtReq =3D=3D RR_PAGE_BUTTONS ) =09
return; =09
ProjectShutdown();
StatusChange(); =09
}
function ProjectShutdown()
{
KillTimer(); =09
StopEverythingOnScenes( false );
currentScene =3D null;
stProjState =3D PS_COMPLETE; =09
}
function Extract( obj )
{
=09
=09
for (var intLayer =3D 0; intLayer< obj.layers.length; intLayer++)=09
{
var el =3D obj.layers[intLayer]; =09
document.all[el.id] =3D new Object =09
var newEl =3D document.all[el.id]; =09
=09
newEl.id =3D el.id; =09
newEl.style =3D new Object; =09
newEl.style.pixelTop =3D parseInt(el.top);
newEl.style.pixelLeft =3D parseInt(el.left);
if (null!=3Del.clip)=20
{
newEl.offsetWidth =3D el.clip.width; =09
newEl.offsetHeight =3D el.clip.height
}
=09
if ( el.visibility =3D=3D NAV_HIDDEN )
newEl.style.visibility =3D IE_HIDDEN;
else if ( el.visibility =3D=3D NAV_VISIBLE )
newEl.style.visibility =3D IE_VISIBLE;
else if ( el.visibility =3D=3D NAV_INHERIT )
newEl.style.visibility =3D IE_INHERIT;
else
newEl.style.visibility =3D "";
=09
newEl.style.zIndex =3D el.zIndex;
newEl.style.backgroundColor =3D el.bgColor;
newEl.style.backgroundImage =3D "url("+el.background+")";
newEl.NSLayer =3D el; =09
=09
=09
=09
for (var intLoop =3D 0; intLoop< el.document.images.length; intLoop++)
{
var image =3D el.document.images[intLoop] =09
var imageName =3D image.name; =09
if ( imageName =3D=3D null ) =09
continue; =09
=09
document.all[imageName] =3D image; =09
document.images[imageName] =3D image; =09
}
=09
for (var intLoop =3D 0; intLoop< el.document.forms.length; intLoop++)=20
{
var form =3D el.document.forms[intLoop]; =09
var formName =3D form.name; =09
if ( formName =3D=3D null )
continue;
document.all[formName] =3D form; =09
document.forms[formName] =3D form; =09
=09
for ( var innerLoop =3D 0; innerLoop < form.elements.length; =
innerLoop++)
{
var element =3D form.elements[innerLoop]=09
var elementName =3D element.name;
if ( elementName =3D=3D null ) =09
continue;
document.all[elementName] =3D element;=09
}
}
if ( el.layers.length > 0 ) =09
Extract(el) =09
}
}
function Scene( duration )
{
this.duration =3D duration;
}
function InitializeScenes()
{
var objScene; =09
var sceneNumber =3D 0; =09
=09
for ( sceneName in Scenes )
{
objScene =3D Scenes[sceneName]; =09
objScene.number =3D parseInt(sceneNumber); =09
objScene.name =3D sceneName; =09
objScene.HTML =3D document.all[sceneName]; =09
SetVisibility( objScene.HTML, IE_HIDDEN );=09
if ( Project.rtReq =3D=3D RR_PAGE_BUTTONS ) =09
objScene.duration =3D DUR_FOREVER;
InitializePlayers( objScene ); =09
=09
if ( objScene.entryTrans =3D=3D null )
{
objScene.entryTrans =3D new Object();
objScene.entryTrans.type =3D NULL_TRANSITION;
}
=09
if ( objScene.Bhv !=3D null )
for ( var bhvIdx=3D0; (bhv=3DobjScene.Bhv[bhvIdx]) !=3D null; =
bhvIdx++ )=09
bhv.Initialize( objScene, bhv);
objScene.numBhv =3D bhvIdx; =09
sceneArray[sceneNumber++] =3D objScene;=09
}
nScenes =3D sceneNumber; =09
}
function StopEverythingOnScenes( fPause )
{
var objScene; =09
for ( sceneName in Scenes )
{
objScene =3D Scenes[sceneName]; =09
=09
=09
if ( objScene.Bhv !=3D null )
for ( var bhvIdx=3D0; (bhv=3DobjScene.Bhv[bhvIdx]) !=3D null; =
bhvIdx++ )=09
bhv.StopEverything( bhv, fPause );
StopEverythingOnPlayers( objScene, fPause ); =09
}
return;
}
function ChangeScene( nextSceneNumber )
{
var previousScene =3D currentScene; =09
StopSceneTimers(); =09
currentScene =3D GetSceneFromNumber( nextSceneNumber );=09
currentScene.previousScene =3D previousScene; =09
if ( currentScene.duration =3D=3D null ) =09
currentScene.duration =3D DEFAULT_SCENE_DURATION; =09
=09
if ( currentScene.Bhv !=3D null )
for ( var bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
{
var bhv =3D currentScene.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
var delay =3D bhv.delay
if ( (delay =3D=3D null) || (delay =3D=3D DELAY_NONE) )=09
bhv.Start( bhv ); =09
else if ( delay > 0 ) =09
StartOneShotTimer( bhv, bhv.delay, bhv.Start, TMR_SCENE );
}
StartScenePlayers( currentScene ); =09
StartTransition( currentScene, currentScene.entryTrans, IE_VISIBLE, =
SceneTransitionDone );=09
=09
if ( currentScene.duration !=3D DUR_FOREVER ) =09
StartOneShotTimer( currentScene, currentScene.duration, SceneExit, =
TMR_SCENE );
StatusChange(); =09
return;
}
function SceneTransitionDone( objScene )
{
=09
=09
if ( currentScene.previousScene !=3D null )
SetVisibility( currentScene.previousScene.HTML, IE_HIDDEN );
=09
if ( currentScene.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
{
var bhv =3D currentScene.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
if ( bhv.delay =3D=3D DELAY_UNTIL_TRANSITION )=09
bhv.Start( bhv ); =09
}
=09
StartScenePlayersAfterTransition( currentScene );=09
}
function SceneExit( thisScene, nextScene )
{
var nextSceneNumber =3D nextScene =3D=3D null ? currentScene.number+1 : =
nextScene.number;
var finalScene =3D (nextSceneNumber <=3D Project.stopScene) ? false : =
true;
=09
=09
=09
for ( playerName in currentScene.Players )
{
objPlayer =3D currentScene.Players[playerName]; =09
PlayerExitTransitionDone( objPlayer, finalScene ); =09
}
=09
if ( currentScene.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
{
var bhv =3D currentScene.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
if ( bhv.duration =3D=3D DUR_UNTIL_DONE ) =09
bhv.Stop( bhv ); =09
}
=09
=09
if ( finalScene =3D=3D false ) =09
ChangeScene( nextSceneNumber ) =09
else
ProjectComplete() =09
=09
}
function Player( delay, duration )
{
this.delay =3D delay;
this.duration =3D duration;
}
function InitializePlayers( objScene )
{
var objPlayer; =09
var playerNumber =3D 0; =09
for ( playerName in objScene.Players )
{
objPlayer =3D objScene.Players[playerName]; =09
objPlayer.number =3D playerNumber; =09
objPlayer.name =3D playerName; =09
objPlayer.HTML =3D document.all[playerName]; =09
SetVisibility( objPlayer.HTML, IE_HIDDEN ); =09
objPlayer.position =3D new Position(objPlayer); =09
=09
if ( objPlayer.delay =3D=3D null ) =09
objPlayer.delay =3D DEFAULT_PLAYER_DELAY; =09
=09
=09
if ( objPlayer.entryTrans =3D=3D null )
{
objPlayer.entryTrans =3D new Object();
objPlayer.entryTrans.type =3D NULL_TRANSITION;
}=20
=09
else if ((objPlayer.entryTrans !=3D null) && =09
(GetPlayerTypeFromName(objPlayer.name) =3D=3D PLAYER_TEXT))
{
if ( (objPlayer.entryTrans.type =3D=3D TEXT_FLYIN) || =
(objPlayer.entryTrans.type =3D=3D TEXT_TYPEWRITER) )
if ( InitializeTextFlyin( objPlayer ) =3D=3D false )
objPlayer.entryTrans.type =3D null; =09
}
=09
if ( objPlayer.exitTrans =3D=3D null )
{
objPlayer.exitTrans =3D new Object();
objPlayer.exitTrans.type =3D NULL_TRANSITION;
}
=09
if ( objPlayer.Bhv !=3D null )
{
for ( bhvIdx=3D0; (bhv=3DobjPlayer.Bhv[bhvIdx]) !=3D null; bhvIdx++ ) =
bhv.Initialize( objPlayer, bhv);
objPlayer.numBhv =3D bhvIdx; =09
}
else
objPlayer.numBhv =3D 0;
playerNumber ++; =09
}=09
}
function StopEverythingOnPlayers( objScene, fPause )
{
var objPlayer; =09
for ( playerName in objScene.Players )
{
objPlayer =3D objScene.Players[playerName]; =09
=09
=09
if ( objPlayer.Bhv !=3D null )
{
for ( bhvIdx=3D0; (bhv=3DobjPlayer.Bhv[bhvIdx]) !=3D null; bhvIdx++ ) =
bhv.StopEverything( bhv, fPause );
}
DisableTrigger( objPlayer ); =09
}=09
return;
}
function StartScenePlayers( objScene )
{
=09
for ( playerName in objScene.Players )
{
objPlayer =3D objScene.Players[playerName]; =09
=09
=09
=09
if ( objPlayer.delay =3D=3D DELAY_NONE ) =09
StartPlayer( objPlayer ) =09
else if ( objPlayer.delay > 0 ) =09
StartOneShotTimer( objPlayer, objPlayer.delay, StartPlayer, =
TMR_SCENE);
}
}
function StartScenePlayersAfterTransition( objScene )
{
=09
for ( playerName in objScene.Players )
{
objPlayer =3D objScene.Players[playerName]; =09
if ( objPlayer.delay =3D=3D DELAY_UNTIL_TRANSITION )=09
StartPlayer( objPlayer ) =09
}
}
function StartPlayer( objPlayer )
{
=09
if ( objPlayer.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
{
var bhv =3D objPlayer.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
var delay =3D bhv.delay
if ( (delay =3D=3D null) || (delay =3D=3D DELAY_NONE) )=09
bhv.Start( bhv ); =09
else if ( delay > 0 ) =09
StartOneShotTimer( bhv, bhv.delay, bhv.Start, TMR_SCENE );
}
=09
StartTransition( objPlayer, objPlayer.entryTrans, IE_VISIBLE, =
PlayerEntryTransitionDone );
=09
=09
if ( objPlayer.duration > 0 )
StartOneShotTimer( objPlayer, objPlayer.duration, PlayerExit, =
TMR_SCENE ); =09
}
function PlayerEntryTransitionDone( objPlayer )
{
=09
if ( objPlayer.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
{
var bhv =3D objPlayer.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
if ( bhv.delay =3D=3D DELAY_UNTIL_TRANSITION )=09
bhv.Start( bhv ); =09
}
=09
if ( objPlayer.Triggers !=3D null )
EnableTrigger( objPlayer );
}
function PlayerExit( objPlayer )
{
=09
StartTransition( objPlayer, objPlayer.exitTrans, IE_HIDDEN, =
PlayerExitTransitionDone );
}
function PlayerExitTransitionDone( objPlayer, finalScene )
{
=09
if ( objPlayer.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
{
var bhv =3D objPlayer.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
if ( bhv.duration =3D=3D DUR_UNTIL_DONE ) =09
bhv.Stop( bhv ); =09
}
=09
if ( (finalScene =3D=3D null) || (finalScene =3D=3D false) )
SetVisibility( objPlayer.HTML, IE_HIDDEN ); =09
=09
=09
=09
if ( (sys !=3D "Netscape") && (objPlayer.HTML.Preview !=3D null) )
SetVisibility( objPlayer.HTML, IE_VISIBLE );=20
return;
}
function Trigger( trigType, trigBhv, player, scene )
{
this.triggerType =3D trigType;
this.triggerBhv =3D trigBhv;
this.player =3D player;
this.nextSceneNum =3D scene;
}
function EnableTrigger( objPlayer )
{
if ( sys !=3D "Netscape" ) =09
{
objPlayer.HTML.style.cursor=3D"hand"; =09
for ( trx in objPlayer.Triggers ) =09
{
var trigger =3D objPlayer.Triggers[trx]; =09
if ( trigger.triggerType =3D=3D null )
trigger.triggerType =3D 0; =09
var tt =3D trigger.triggerType; =09
if ( tt =3D=3D TT_ALL_MOUSE_EVENTS ) =09
{
objPlayer.HTML.onmousedown =3D EventProcessor;
objPlayer.HTML.onmouseup =3D EventProcessor;=09
objPlayer.HTML.onmouseover =3D EventProcessor; =09
objPlayer.HTML.onmouseout =3D EventProcessor;
}
else if ( tt =3D=3D TT_BUTTONDOWN ) =09
objPlayer.HTML.onmousedown =3D EventProcessor;
else if ( tt =3D=3D TT_BUTTONUP ) =09
objPlayer.HTML.onmouseup =3D EventProcessor;
else if ( tt =3D=3D TT_MOUSEOVER ) =09
objPlayer.HTML.onmouseover =3D EventProcessor;
else if ( tt =3D=3D TT_MOUSEOUT ) =09
objPlayer.HTML.onmouseout =3D EventProcessor;
}
}
else =09
{
for ( trx in objPlayer.Triggers ) =09
{
var trigger =3D objPlayer.Triggers[trx];=09
if ( trigger.triggerType =3D=3D null )
trigger.triggerType =3D 0; =09
var tt =3D trigger.triggerType; =09
if ( tt=3D=3D 0 ) =09
{
objPlayer.HTML.NSLayer.captureEvents( Event.MOUSEUP | =
Event.MOUSEDOWN | Event.MOUSEOVER | Event.MOUSEOUT );
objPlayer.HTML.NSLayer.onMouseUp =3D EventProcessor;
objPlayer.HTML.NSLayer.onMouseDown =3D EventProcessor;
objPlayer.HTML.NSLayer.onMouseOver =3D EventProcessor;
objPlayer.HTML.NSLayer.onMouseOut =3D EventProcessor;
}
else if ( tt =3D=3D TT_BUTTONUP )
{
objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEUP);
objPlayer.HTML.NSLayer.onMouseUp =3D EventProcessor;
}
else if ( tt =3D=3D TT_BUTTONDOWN )
{
objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEDOWN);
objPlayer.HTML.NSLayer.onMouseDown =3D EventProcessor;
}
}
=09
}
}
function DisableTrigger( objPlayer )
{
if ( sys !=3D "Netscape" ) =09
{
objPlayer.HTML.onmousedown =3D null;
objPlayer.HTML.onmouseup =3D null;=09
objPlayer.HTML.onmouseover =3D null; =09
objPlayer.HTML.onmouseout =3D null;
}
else =09
objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEUP | Event.MOUSEDOWN | =
Event.MOUSEOVER | Event.MOUSEOUT );
}
function EventProcessor( e )
{
var trigger; =09
var type; =09
var button; =09
var eventType; =09
var objPlayer; =09
if ( (objPlayer =3D GetPlayerFromName(this.id)) =3D=3D null)=09
return;
if ( sys !=3D "Netscape" ) =09
{
type =3D event.type;
button =3D event.button;
}
else =09
{
type =3D e.type;
button =3D e.which;
}
=09
if (type =3D=3D "mousedown")
{
if ( button !=3D 1 ) =09
return;
eventType =3D TT_BUTTONDOWN;
if ( sys =3D=3D "Netscape" ) =09
{
objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEDOWN);
objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEDOWN);
}
}
else if (type =3D=3D "mouseup")
{
if ( button !=3D 1 ) =09
return;
eventType =3D TT_BUTTONUP;
if ( sys =3D=3D "Netscape" ) =09
{
objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEUP);
objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEUP);
}
}
else if (type =3D=3D "mouseover")
{
eventType =3D TT_MOUSEOVER;
}
else if (type =3D=3D "mouseout")
{
eventType =3D TT_MOUSEOUT;
}
var triggerArray =3D objPlayer.Triggers; =09
var trigger; =09
=09
for ( var trx=3D0; (trigger=3DtriggerArray[trx]) !=3D null; trx++ )
{
if ( (trigger.triggerType =3D=3D 0) || (trigger.triggerType =3D=3D =
eventType) )
{
=09
=09
=09
if ( trigger.triggerBhv =3D=3D TB_PAGE_TURNER )
{
=09
=09
if ( (trigger.nextSceneNum =3D=3D null) || (trigger.nextSceneNum =
=3D=3D "") )
SceneExit( currentScene );
else
{
if ( Scenes[trigger.nextSceneNum].number < currentScene.number )
{
for ( ii=3D0; ii<=3DcurrentScene.number; ii++ )
InitializePlayers( sceneArray[ii] );
}
SceneExit( currentScene, Scenes[trigger.nextSceneNum] );
}
}
else if ( trigger.triggerBhv =3D=3D TB_START_PLAYER )
StartPlayer( GetPlayerFromName( trigger.player ) ); =09
else=20
{
=09
var objTrigPlayer =3D GetPlayerFromName( trigger.player ); =09
var bhv =3D objTrigPlayer.Bhv[trigger.triggerBhv]; =09
bhv.Trigger( bhv, eventType ); =09
} =09
}
}
return;=09
}
function Transition( type, rate, flyFrom, flySubtype )
{
this.type =3D type;
this.rate =3D rate;
this.flyFrom =3D flyFrom;
this.flySubtype =3D flySubtype;
}
function StartTransition( transObj, trans, visibility, callback )
{
var playerType =3D GetObjectTypeFromName( transObj.name ); =09
=09
=09
=09
if ( ("Netscape" =3D=3D sys) ||=20
( (playerType =3D=3D OBJ_PLAYER) && (trans.type =3D=3D =
NULL_TRANSITION) ) )
{
SetVisibility( transObj.HTML, visibility );
callback( transObj );
return;
}
=09
=09
=09
=09
if ( ((trans.type =3D=3D TEXT_FLYIN) || (trans.type =3D=3D =
TEXT_TYPEWRITER)) && (visibility =3D=3D IE_VISIBLE) )
{
StartTextFlyin( transObj );
return;
}
=09
if ( platform !=3D "Win32" )
{
SetVisibility( transObj.HTML, visibility );
callback( transObj );
return;
}
=09
=09
=09
=09
=09
=09
if ( trans.type =3D=3D NULL_TRANSITION )
{
transObj.HTML.style.filter =3D "revealTrans(duration=3D0, =
transition=3D0)";
}
else =09
{
duration =3D TRANSITION_RATES[trans.rate];
transObj.HTML.style.filter =3D "revealTrans(duration=3D" + duration + =
", transition=3D" + trans.type + ")";
}
stNoInput++; =09
transObj.HTML.filters(0).Apply(); =09
=09
SetVisibility( transObj.HTML, visibility ); =09
=09
transObj.HTML.filters(0).Play() =09
transObj.HTML.onfilterchange =3D TransitionDoneEvent;=09
}
function TransitionDoneEvent( )
{
var type =3D GetObjectTypeFromName( event.srcElement.id ); =09
stNoInput--; =09
if ( type =3D=3D OBJ_SCENE )
{
=09
if ( (currentScene !=3D null) && (event.srcElement.id =3D=3D =
currentScene.name) )
SceneTransitionDone();
}
else if ( type =3D=3D OBJ_PLAYER ) =09
{
var objPlayer =3D GetPlayerFromName( event.srcElement.id );
if ( this.style.visibility =3D=3D IE_VISIBLE ) =09
PlayerEntryTransitionDone( objPlayer ); =20
else =09
PlayerExitTransitionDone( objPlayer, false );
}
return;
}
function InitializeTextFlyin( objPlayer )
{
if ( sys =3D=3D "Netscape" ) =09
return false;
var transition =3D objPlayer.entryTrans; =09
var transUnits =3D transition.flySubtype; =09
var movePerTick =3D parseInt(FLYIN_PER_TICK[transition.rate]);=09
=09
var transDirection =3D (transition.type =3D=3D TEXT_FLYIN) ? =
transition.flyFrom : FLYIN_TOP; =09
=09
=09
if ( stProjState =3D=3D PS_UNINITIALIZED )
{
var textHTML =3D objPlayer.HTML; =09
var oldInnerHTML =3D textHTML.innerHTML; =09
var newInnerHTML =3D ""; =09
=09
transition.textOrder =3D new Array(); =09
textOrder =3D transition.textOrder; =09
=09
=09
=09
=09
=09
var flyinIdx =3D 0; =09
var flyinBuffer =3D "";
=09
=09
=09
var spanStyle =3D (transition.type =3D=3D TEXT_FLYIN) ? " =
style=3D'position:relative;visibility:hidden;'" : " =
style=3D'visibility:hidden;'";
for ( var letterIdx=3D0; letterIdx<oldInnerHTML.length; )
{
=09
tempID =3D objPlayer.name+"_tempID"+flyinIdx.toString();
newInnerHTML +=3D "<span id=3D" + tempID + spanStyle + ">";
while ( letterIdx<oldInnerHTML.length )
{
=09
=09
=09
if ( ( (charNext =3D oldInnerHTML.substring(letterIdx, letterIdx+1)) =
=3D=3D "<") || (charNext =3D=3D "&") ) =09
{
if ( charNext =3D=3D "<" ) =09
endTagIdx =3D oldInnerHTML.indexOf( ">", letterIdx );=09
else
endTagIdx =3D oldInnerHTML.indexOf( ";", letterIdx );=09
var tagString =3D oldInnerHTML.substring( letterIdx, ++endTagIdx );
newInnerHTML +=3D tagString;
letterIdx =3D endTagIdx; =09
=09
if ( ((tagString =3D=3D "</P>") || (tagString =3D=3D "<BR>")) &&
(transUnits !=3D FLYIN_BY_LETTER) ) =09
break;
}
=09
else
{
thisChar =3D oldInnerHTML.substring( letterIdx, ++letterIdx );
newInnerHTML +=3D thisChar;
if ( transUnits =3D=3D FLYIN_BY_LETTER ) =09
break; =09
else if ( (transUnits =3D=3D FLYIN_BY_WORD ) && thisChar =3D=3D " " =
) =09
break;
}
}
newInnerHTML +=3D "</span>"
textOrder[flyinIdx] =3D new Object();
textOrder[flyinIdx].name =3D tempID; =09
flyinIdx++; =09
}
=09
if ( flyinIdx =3D=3D 0 )
return false;
=09
textHTML.innerHTML =3D newInnerHTML;
transition.numUnits =3D flyinIdx; =09
}
=09
=09
=09
textOrder =3D transition.textOrder;
var currentEl =3D document.all[textOrder[0].name]; =09
var currentOffset =3D currentEl.offsetLeft;=09
var previousEl, previousOffset;
for ( var count=3D0; count<transition.numUnits; count++ ) =09
{
previousOffset =3D currentOffset; =09
previousEl =3D currentEl;
textElName =3D textOrder[count].name; =09
currentEl =3D document.all[textElName];
SetVisibility( currentEl, IE_HIDDEN );
currentOffset =3D currentEl.offsetTop;
=09
=09
=09
=09
=09
=09
if ( currentOffset !=3D previousOffset ) =09
if ( previousEl.innerHTML =3D=3D " " ) =09
previousEl.innerHTML =3D "<br>";
if ( transDirection =3D=3D FLYIN_ROTATE ) =09
direction =3D count % FLYIN_ROTATE; =09
else
direction =3D transDirection;
=09
if ( direction =3D=3D FLYIN_LEFT )
{
tempPos =3D -(currentEl.offsetParent.offsetLeft + =
currentEl.offsetParent.offsetWidth);
currentEl.style.posLeft =3D tempPos; =09
textOrder[count].dx =3D -movePerTick; =09
textOrder[count].dy =3D 0;
textOrder[count].iterations =3D tempPos / (-movePerTick);=09
}
else if ( direction =3D=3D FLYIN_RIGHT )
{
tempPos =3D objPlayer.HTML.parentElement.offsetWidth - =
currentEl.offsetParent.offsetLeft;
currentEl.style.posLeft =3D tempPos;
textOrder[count].dx =3D movePerTick; =09
textOrder[count].dy =3D 0;
textOrder[count].iterations =3D tempPos / movePerTick;=09
}
else if ( direction =3D=3D FLYIN_TOP )
{
tempPos =3D -(currentEl.offsetParent.style.posTop + =
currentEl.offsetParent.offsetHeight);
currentEl.style.posTop =3D tempPos;
textOrder[count].dx =3D 0;
textOrder[count].dy =3D (-movePerTick); =09
textOrder[count].iterations =3D tempPos / (-movePerTick);=09
}
else if ( direction =3D=3D FLYIN_BOTTOM )
{
tempPos =3D objPlayer.HTML.parentElement.offsetHeight - =
currentEl.offsetParent.style.posTop;
currentEl.style.posTop =3D tempPos;
textOrder[count].dx =3D 0;
textOrder[count].dy =3D movePerTick; =09
textOrder[count].iterations =3D tempPos / movePerTick;=09
}
}
=09
transition.charIdx =3D 0; =09
transition.moveIdx =3D 0; =09
textElName =3D transition.textOrder[0].name;
transition.currentEl =3D document.all[textElName];=09
SetVisibility( transition.currentEl, IE_VISIBLE );
return true;
}
function StartTextFlyin( objPlayer )
{
=09
SetVisibility( objPlayer.HTML, IE_VISIBLE );
StartAnimationTimer( objPlayer, TextFlyinTick );
}
function TextFlyinTick( objPlayer )
{
var transition =3D objPlayer.entryTrans; =09
var spanObj =3D transition.textOrder[transition.charIdx]; =09
var textEl =3D transition.currentEl; =09
=09
=09
if ( ++transition.moveIdx < spanObj.iterations) =09
{
textEl.style.posTop -=3D spanObj.dy; =09
textEl.style.posLeft -=3D spanObj.dx;
return false; =09
}
=09
=09
textEl.style.posTop =3D 0; =09
textEl.style.posLeft =3D 0;
=09
=09
if ( (charIdx =3D ++transition.charIdx) >=3D =
transition.textOrder.length )=09
{
PlayerEntryTransitionDone( objPlayer ); =09
return true; =09
}
else
{
transition.moveIdx =3D 0; =09
textElName =3D transition.textOrder[charIdx].name;
transition.currentEl =3D document.all[textElName]; =09
transition.currentEl.style.visibility =3D IE_VISIBLE; =09
return false; =09
} =09
}
var SND_DUR_SCENE =3D -1;=09
var SND_DUR_PROJECT =3D 0;=09
var ST_WAV =3D 1;=09
var ST_MID =3D 2;=09
var NAV_EXT =3D "nav"=09
var MidiTag =3D null;=09
function Sound( delay, duration, loop, soundType, tagName, fileName )
{
=09
this.Initialize =3D InitializeSound;
this.Start =3D StartSound;
this.Trigger =3D StartSound;
this.Stop =3D StopSound;
this.StopEverything =3D StopEverythingOnSounds;
=09
this.delay =3D delay;
this.duration =3D duration;
this.loop =3D loop;
this.tagName =3D tagName;
this.fileName =3D fileName;
this.soundType =3D soundType;
}
function InitializeSound( objParent, objSound )
{
if ( sys =3D=3D "Netscape" )
{
objSound.navLoop =3D (objSound.loop =3D=3D -1) ? true : false;
objSound.html =3D document[objSound.tagName+NAV_EXT];
return;
}
objSound.objParent =3D objParent; =09
objSound.html =3D document.all[objSound.tagName];=09
objSound.fileName =3D objSound.html.soundsrc; =09
=09
=09
if (objSound.soundType =3D=3D ST_MID )
{
if ( MidiTag =3D=3D null ) =09
MidiTag =3D objSound.html; =09
else
objSound.html =3D MidiTag; =09
} =09
}
function StartSound( objSound )
{
if ( sys =3D=3D "Netscape" ) =09
{
if ( objSound.html !=3D null ) =09
objSound.html.play(objSound.navLoop);
return;
}
objSound.html.src =3D objSound.fileName; =09
objSound.html.loop =3D objSound.loop; =09
if ( objSound.soundType =3D=3D ST_WAV ) =09
objSound.html.volume =3D 0; =09
if ( objSound.duration > 0 )
StartOneShotTimer( objSound, objSound.duration, objSound.Stop, =
TMR_PROJ );
}
function StopSound( objSound, fPause )
{
if ( sys =3D=3D "Netscape" ) =09
{
if ( objSound.html !=3D null ) =09
objSound.html.stop();
return;
}
objSound.html.loop =3D 0;
objSound.html.src =3D ""; =09
if ( objSound.soundType =3D=3D ST_WAV )
objSound.html.volume =3D -10000;
}
function StopEverythingOnSounds( objSound )
{
StopSound( objSound, true );
if ( (sys !=3D "Netscape") && (os =3D=3D "NT") ) =09
objSound.html.volume =3D -500; =09
}
var SND_DUR_SCENE =3D -1;=09
var SND_DUR_PROJECT =3D 0;=09
function Swapper( idle, hover, click )
{
=09
this.Initialize =3D InitializeSwap;
this.Start =3D StartSwap;
this.Trigger =3D TriggerSwap;
this.Stop =3D StopSwap;
this.StopEverything =3D StopSwap;
=09
this.idle =3D idle;
this.hover =3D hover;
this.click =3D click;
}
function InitializeSwap( objParent, objSwap )
{
if ( stProjState !=3D PS_UNINITIALIZED ) =09
return;
=09
var idle =3D objSwap.idle; =09
var hover =3D objSwap.hover;
var click =3D objSwap.click;
=09
=09
=09
=09
=09
=09
=09
if ( (hover !=3D null) && (hover !=3D "") && (document.all[hover].src =
!=3D null) )
{
SetVisibility( document.all[hover], IE_HIDDEN );
objSwap.srcHover =3D document.all[hover].src;
document.all[hover].src =3D "";
}
else
objSwap.srcHover =3D document.all[idle].src;
if ( (click !=3D null) && (click !=3D "") && (document.all[click].src =
!=3D null) )
{
SetVisibility( document.all[click], IE_HIDDEN );
objSwap.srcClick =3D document.all[click].src;
document.all[click].src =3D "";
}
else
objSwap.srcClick =3D document.all[idle].src;
=09
objSwap.srcIdle =3D document.all[idle].src;
}
function StartSwap( objSwap )
{
=09
}
function TriggerSwap( objSwap, eventType )
{
if ( eventType =3D=3D TT_BUTTONDOWN )
document.all[objSwap.idle].src =3D objSwap.srcClick;
else if ( eventType =3D=3D TT_BUTTONUP )
document.all[objSwap.idle].src =3D objSwap.srcHover;
else if ( eventType =3D=3D TT_MOUSEOVER )
document.all[objSwap.idle].src =3D objSwap.srcHover;
else if ( eventType =3D=3D TT_MOUSEOUT )
document.all[objSwap.idle].src =3D objSwap.srcIdle;
return;
}
function StopSwap( objSwap, fPause )
{
if ( fPause ) =09
return;
}
var PATH_PER_TICK =3D new Array(50,40,30,20,10); =09
var PE_STOP =3D 0; =09
var PE_AGAIN =3D 1; =09
var PE_REV =3D 2; =09
var PE_EXIT =3D 3; =09
var PD_FWD =3D 1;
var PD_BACK =3D -1;
function Point( x, y, rate )
{
this.x =3D x;
this.y =3D y;
this.rate =3D rate;
}
function Paths( delay, edgeEffect )
{
=09
this.Initialize =3D InitializePathAnimation;
this.Start =3D StartPathAnimation;
this.Trigger =3D StartPathAnimation;
this.Stop =3D StopPathAnimation;
this.StopEverything =3D StopPathAnimation;
=09
this.delay =3D delay;
this.edgeEffect =3D edgeEffect;
}
function InitializePathAnimation( objPlayer, path )
{
var segment; =09
var pathIndex;
var totalDistance; =09
var distanceX; =09
var distanceY;
var dx; =09
var dy;
var travelTime; =09
var remX; =09
var remY;
=09
if ( stProjState !=3D PS_UNINITIALIZED )
{
objPlayer.position.SetPosition( path[0].x, path[0].y );
return;
}
path.objPlayer =3D objPlayer; =09
halfWidth =3D Math.floor(objPlayer.HTML.offsetWidth/2); =09
halfHeight =3D Math.floor(objPlayer.HTML.offsetHeight/2);
=09
=09
path[0].x -=3D halfWidth;
path[0].y -=3D halfHeight;
objPlayer.position.SetPosition( path[0].x, path[0].y );
for ( pathIndex=3D0; path[pathIndex+1] !=3D null; pathIndex++ )=09
{
px =3D parseInt(pathIndex); =09
segment =3D path[px]; =09
=09
=09
=09
path[px+1].x -=3D halfWidth;
path[px+1].y -=3D halfHeight;
=09
distanceX =3D path[px+1].x - segment.x; =09
distanceY =3D path[px+1].y - segment.y; =09
=09
totalDistance =3D Math.sqrt( (distanceX*distanceX) + =
(distanceY*distanceY) );
=09
=09
travelTime =3D Math.round(totalDistance / =
PATH_PER_TICK[segment.rate]);
=09
=09
if ( distanceX > 0 ) =09
dx =3D Math.floor( distanceX / travelTime );=09
else if ( distanceX < 0 ) =09
dx =3D Math.ceil( distanceX / travelTime );=09
else
dx =3D 0;
=09
=09
=09
=09
remX =3D distanceX % travelTime;
=09
if ( distanceY > 0 ) =09
dy =3D Math.floor( distanceY / travelTime );
else if ( distanceY < 0 )
dy =3D Math.ceil( distanceY / travelTime );
else
dy =3D 0;
remY =3D distanceY % travelTime;
segment.number =3D px; =09
segment.ticks =3D 0;
segment.travelTime =3D travelTime;
segment.dx =3D dx;
segment.dy =3D dy;
segment.remX =3D remX;
segment.remY =3D remY;
}
path.numSegs =3D parseInt(pathIndex); =09
path.dir =3D PD_FWD; =09
return;
}
function StartPathAnimation( path )
{
path.currentSegment =3D path[0]; =09
path.currentSegment.ticks =3D 0; =09
path.cntSegs =3D 0; =09
=09
=09
if ( path.dir =3D=3D PD_BACK ) =09
{
for ( var ii=3D0; ii<path.numSegs; ii++ ) =09
{
path[ii].dx *=3D -1;
path[ii].dy *=3D -1;
path[ii].remX *=3D -1;
path[ii].remY *=3D -1;
}
path.dir =3D PD_FWD; =09
}
StartAnimationTimer( path, PathAnimationTick );
}
function StopPathAnimation( path, fPause )
{
return;
}
function PathAnimationTick( path )
{
var objPlayer =3D path.objPlayer; =09
var segment =3D path.currentSegment; =09
var currentPosition =3D objPlayer.position;=09
if ( ++segment.ticks <=3D segment.travelTime ) =09
{
newX =3D currentPosition.x + segment.dx; =09
if ( segment.ticks <=3D Math.abs(segment.remX) )=09
segment.remX > 0 ? newX++ : newX--;
newY =3D currentPosition.y + segment.dy; =09
if ( segment.ticks <=3D Math.abs(segment.remY) )=09
segment.remY > 0 ? newY++ : newY--;
currentPosition.SetPosition( newX, newY );=09
return false; =09
}
=09
=09
if ( ++path.cntSegs < path.numSegs )
{
=09
path.currentSegment =3D path[segment.number+path.dir]; =09
path.currentSegment.ticks =3D 0; =09
=09
return false;
}
=09
=09
if ( path.edgeEffect =3D=3D PE_AGAIN ) =09
{
=09
objPlayer.position.SetPosition( path[0].x, path[0].y );
=09
path.currentSegment =3D path[0]; =09
path.currentSegment.ticks =3D 0; =09
path.cntSegs =3D 0; =09
return false; =09
} =09
else if ( path.edgeEffect =3D=3D PE_REV ) =09
{
path.dir *=3D -1; =09
=09
for ( var ii=3D0; ii<path.numSegs; ii++ )
{
path[ii].dx *=3D -1;
path[ii].dy *=3D -1;
path[ii].remX *=3D -1;
path[ii].remY *=3D -1;
}
path.currentSegment.ticks =3D 0; =09
path.cntSegs =3D 0; =09
return false;
}
else if ( path.edgeEffect =3D=3D PE_EXIT )
{
PlayerExit( objPlayer );
return true;
}
else
return true; =09
}
var GROW_PER_TICK =3D new Array(20,14,8,4,1); =09
function Size( zoom, rate )
{
this.zoom =3D zoom;
this.rate =3D rate;
}
function Grows( delay )
{
=09
this.Initialize =3D InitializeGrowAnimation;
this.Start =3D StartGrowAnimation;
this.Trigger =3D StartGrowAnimation;
this.Stop =3D StopGrowAnimation;
this.StopEverything =3D StopGrowAnimation;
=09
this.delay =3D delay;
}
function InitializeGrowAnimation( objPlayer, grow )
{
if ( sys =3D=3D "Netscape" )
return;
var child =3D objPlayer.HTML.children[0]; =09
var playerType =3D GetPlayerTypeFromName( objPlayer.name );=09
=09
=09
=09
if ( stProjState =3D=3D PS_UNINITIALIZED )
{
grow.realWidth =3D child.width;
grow.realHeight =3D child.height;
}
if ( (playerType =3D=3D PLAYER_TEXT) || sys =3D=3D "Netscape" )=09
{
grow =3D null; =09
return;
}
grow.objPlayer =3D objPlayer; =09
=09
grow.currentSegment =3D grow[0]; =09
grow.currentGrowth =3D grow.currentSegment.zoom; =09
=09
=09
=09
child.width *=3D (grow.currentSegment.zoom / 100); =09
child.height *=3D (grow.currentSegment.zoom / 100);
=09
for ( var growIndex=3D0; grow[growIndex] !=3D null; growIndex++ )=09
{
gx =3D parseInt(growIndex); =09
segment =3D grow[gx]; =09
if ( grow[gx+1] =3D=3D null ) =09
{
grow.finalSegment =3D grow[gx-1]; =09
break; =09
}
=09
growth =3D grow[gx+1].zoom - segment.zoom; =09
if ( growth >=3D 0 ) =09
growthFactor =3D GROW_PER_TICK[segment.rate]; =09
else
growthFactor =3D -(GROW_PER_TICK[segment.rate]);
=09
growthTicks =3D growth / growthFactor; =09
=09
segment.number =3D gx; =09
segment.growth =3D growth;
segment.growthFactor =3D growthFactor;
segment.growthTicks =3D growthTicks;
segment.currentTicks =3D 0;
}
}
function StartGrowAnimation( grow )
{=09
if ( sys =3D=3D "Netscape" )
return;
grow.currentSegment =3D grow[0]; =09
grow.currentTicks =3D 0;
StartAnimationTimer( grow, GrowAnimationTick );
}
function StopGrowAnimation( grow, fPause )
{
return;
}
function GrowAnimationTick( grow )
{
if ( sys =3D=3D "Netscape" )
return true; =09
var objPlayer =3D grow.objPlayer; =09
var child =3D objPlayer.HTML.children[0]; =09
var segment =3D grow.currentSegment; =09
grow.currentGrowth +=3D segment.growthFactor; =09
child.width =3D grow.realWidth*(grow.currentGrowth/100);=09
child.height =3D grow.realHeight*(grow.currentGrowth/100);
if ( ++grow.currentTicks <=3D segment.growthTicks ) =09
return false; =09
if ( grow.currentSegment =3D=3D grow.finalSegment ) =09
return true; =09
grow.currentSegment =3D grow[ segment.number+1 ]; =09
grow.currentTicks =3D 0;
return false; =09
}
function Timer()
{
if ( Project.tickRate =3D=3D null ) =09
this.tickRate =3D DEFAULT_TICK_RATE;
else
this.tickRate =3D Project.tickRate;
this.oneShots =3D new Array();
this.animations =3D new Array();
this.tickCounter =3D 0; =09
this.ticksPerSecond =3D 1000 / (this.tickRate);=09
this.timerID =3D null;
this.StartTicking =3D StartTicking; =09
this.StopTicking =3D StopTicking;
=09
}
function StartTicking()
{
if ( this.timerID =3D=3D null )
this.timerID =3D setInterval( "TimerTick()", this.tickRate );
}
function StopTicking()
{
if ( this.timerID !=3D null )
clearInterval( this.timerID );
this.timerID =3D null;
}
function TimerTick()
{
var timerEvent;
=09
for ( var ii=3D0; ii<tickTimer.animations.length; ii++ ) =09
{
if ( (timerEvent=3DtickTimer.animations[ii]) =3D=3D null )=09
continue; =09
if ( timerEvent.callback( timerEvent.callbackObj ) =3D=3D true )=09
tickTimer.animations[ii] =3D null; =09
}
=09
if ( (++tickTimer.tickCounter % tickTimer.ticksPerSecond) =3D=3D 0 )=09
{
=09
var length =3D tickTimer.oneShots.length; =09
for ( var ii=3D0; ii<length && (tickTimer!=3Dnull); ii++ )=09
{
if ( (timerEvent=3DtickTimer.oneShots[ii]) =3D=3D null )=09
continue; =09
=09
if ( timerEvent.time <=3D tickTimer.tickCounter ) =09
{
tickTimer.oneShots[ii] =3D null; =09
timerEvent.callback( timerEvent.callbackObj );=09
}
}
}
return;
}
function StartOneShotTimer( obj, time, callback, type )
{
var timerIndex; =09
var timerEvent =3D new Object(); =09
=09
timerEvent.callbackObj =3D obj; =09
timerEvent.callback =3D callback; =09
timerEvent.type =3D type; =09
=09
=09
timerEvent.time =3D tickTimer.tickCounter + (time * =
tickTimer.ticksPerSecond);
for ( timerIndex=3D0; tickTimer.oneShots[timerIndex]!=3Dnull; =
timerIndex++ );=09
tickTimer.oneShots[timerIndex] =3D timerEvent;=09
return;
}
function StartAnimationTimer( obj, callback )
{
var timerIndex;=20
timerEvent =3D new Object();
timerEvent.callbackObj =3D obj; =09
timerEvent.callback =3D callback; =09
for ( timerIndex=3D0; tickTimer.animations[timerIndex]!=3Dnull; =
timerIndex++);=09
tickTimer.animations[timerIndex] =3D timerEvent;
}
function StopSceneTimers()
{
for (var ii=3D0; ii<tickTimer.oneShots.length; ii++)=09
{
if ( tickTimer.oneShots[ii] =3D=3D null ) =09
continue;
if ( tickTimer.oneShots[ii].type =3D=3D TMR_SCENE )
tickTimer.oneShots[ii] =3D null; =09
}
=09
for (var ii=3D0; ii<tickTimer.animations.length; ii++)
tickTimer.animations[ii] =3D null;
}
=09
function KillTimer()
{
if ( tickTimer !=3D null ) =09
{
window.clearTimeout( tickTimer.timerID);=09
tickTimer =3D null; =09
}
}
function SetColor(el, color)=20
{
if ( el.style =3D=3D null ) =09
return;
=09
el.style.backgroundColor =3D color; =09
if ("Netscape"=3D=3Dsys)=20
el.NSLayer.bgColor =3D color; =09
}
function SetZIndex(el, zindex)=20
{
if ( el.style =3D=3D null ) =09
return;
=09
el.style.zIndex =3D zindex; =09
if ("Netscape"=3D=3Dsys)=20
el.NSLayer.zIndex =3D zindex =09
}
function SetVisibility(el, val)=20
{
if ( el.style =3D=3D null ) =09
return;
el.style.visibility =3D val; =09
=20
if ( "Netscape"=3D=3Dsys ) =09
{
if ( val =3D=3D IE_HIDDEN )
el.NSLayer.visibility =3D NAV_HIDDEN;
else if ( val =3D=3D IE_VISIBLE )
el.NSLayer.visibility =3D NAV_VISIBLE;
else if ( val =3D=3D IE_INHERIT )
el.NSLayer.visibility =3D NAV_INHERIT;
else
el.NSLayer.visibility =3D "";
}
}
function Position( obj )
{
this.object =3D obj; =09
this.x =3D obj.HTML.style.pixelLeft; =09
this.y =3D obj.HTML.style.pixelTop; =09
this.SetPosition =3D SetPosition;
}
function SetPosition( newX, newY )=20
{
var el =3D this.object.HTML; =09
if ( el.style =3D=3D null ) =09
return;
=09
el.style.pixelTop =3D newY; =09
el.style.pixelLeft =3D newX;
this.x =3D newX; =09
this.y =3D newY;
if ( "Netscape"=3D=3Dsys ) =09
{
el.NSLayer.top =3D parseInt( newY );
el.NSLayer.left =3D parseInt( newX );
el.offsetTop =3D el.NSLayer.top;
el.offsetLeft =3D el.NSLayer.left;
}
}
function SetContent(el, content)=20
{
if ( el.style =3D=3D null ) =09
return;
if ( "Netscape"=3D=3Dsys ) =09
{
el.NSLayer.document.open(); =09
el.NSLayer.document.write(content); =09
el.NSLayer.document.close(); =09
}
else =09
el.innerHTML=3Dcontent;
}
function SetupButtons()
{
var rtn =3D false; =09
if ( document.all.Pause !=3D null )
{
document.all.Pause.onclick =3D Pause;
strPause =3D document.all.Pause.value.split( '/' );
document.all.Pause.value =3D strPause[0];
}
if (document.all.Stop !=3D null )
document.all.Stop.onclick =3D Stop;
if ( document.all.Forward !=3D null )
document.all.Forward.onclick =3D Forward;
if ( document.all.Backward !=3D null )
document.all.Backward.onclick =3D Backward;
if ( document.all.Webpage !=3D null )
document.all.Webpage.onclick =3D GotoWebpage;
if ( document.all.SceneStatus !=3D null )
formStatus =3D document.all.SceneStatus;
if ( document.all.Start !=3D null )
{
document.all.Start.onclick =3D Start;
strPlay =3D document.all.Start.value.split( '/' );
document.all.Start.value =3D strPlay[0];
rtn =3D true;
}
else
rtn =3D false;
if ( document.all.NavigationButtons !=3D null )
SetVisibility( document.all.NavigationButtons, IE_VISIBLE );
return rtn;
}
function Start()
{
if ( stNoInput ) =09
return;
if ( stButtons =3D=3D true ) =09
{
document.all.Start.value =3D strPlay[1];
if ( document.all.Pause !=3D null )
{
document.all.Pause.value =3D strPause[0];
}
}
if ( (stProjState =3D=3D PS_RUNNING) || (stProjState =3D=3D =
PS_PAUSED) )=09
{
ProjectShutdown();
ProjectInitialize();
}
else if ( stProjState !=3D PS_INITIALIZED ) =09
ProjectInitialize();
ProjectStart(); =09
}
function Pause()
{
=09
if ( stProjState =3D=3D PS_PAUSED ) =09
{
tickTimer.StartTicking(); =09
if ( document.all.Pause !=3D null )
{
document.all.Pause.value =3D strPause[0];
}
stProjState =3D PS_RUNNING;
StatusChange(); =09
}
else
{
if ( tickTimer !=3D null ) =09
tickTimer.StopTicking(); =09
if ( stProjState !=3D PS_RUNNING ) =09
return;
stProjState =3D PS_PAUSED;
if ( document.all.Pause !=3D null )
{
document.all.Pause.value =3D strPause[1];
}
StopEverythingOnScenes( true ); =09
StatusChange(); =09
}
}
function Stop()
{
if ( stNoInput ) =09
return;
location.reload();
}
function Forward()
{
if ( stNoInput ) =09
return;
=09
if ( stProjState !=3D PS_RUNNING )
return;
SceneExit( currentScene ); =09
}
function Backward()
{
if ( stNoInput ) =09
return;
var nextScene;
=09
=09
=09
if ( stProjState =3D=3D PS_COMPLETE )
nextScene =3D Project.stopScene;
else if ( stProjState !=3D PS_RUNNING )
return;
else
nextScene =3D (currentScene.number =3D=3D 0) ? 0 : currentScene.number =
- 1;
ProjectShutdown();
ProjectInitialize();
ProjectStart( nextScene ); =09
}
function GotoWebpage()
{
window.open( Project.webpage); =09
}
function StatusChange( )
{
var stsPage =3D null; =09
var stsState =3D null; =09
if ( stProjState =3D=3D PS_UNINITIALIZED )
{
stsState =3D "Initializing";
stsPage =3D ""
}
else if ( stProjState =3D=3D PS_INITIALIZED )
{
stsState =3D "Ready";
stsPage =3D "";
}
else if ( stProjState =3D=3D PS_RUNNING )
{
stsState =3D "Playing";
stsPage =3D (currentScene.number+1) + " / " + nScenes;
}
else if ( stProjState =3D=3D PS_PAUSED )
stsState =3D "Paused";
else if ( stProjState =3D=3D PS_COMPLETE )
stsState =3D "Complete";
=09
if ( (formStatus !=3D null) && (stsPage !=3D null) )
formStatus.value =3D stsPage;
=09
if ( stsState !=3D null )
top.status =3D stsState;=20
}
function GetSceneFromNumber( sceneNum )
{
return sceneArray[sceneNum]; =09
}
function GetPlayerFromName( playerName )
{
var objPlayer;
=09
=09
if ( (currentScene) && (currentScene.Players !=3Dnull) && ((objPlayer =
=3D currentScene.Players[playerName]) !=3D null) ) =09
return objPlayer; =09
=09
var objScene;
for ( sceneName in Scenes ) =09
{
objScene =3D Scenes[sceneName];
if ( objScene.Players !=3D null )
{
objPlayer =3D objScene.Players[playerName];
if ( objPlayer !=3D null )
return objPlayer; =09
}
}=09
=09
return null; =09
}
function GetObjectTypeFromName( nameString )
{
var type =3D nameString.substr(0,1); =09
if ( type =3D=3D NAME_SCENE ) =09
return OBJ_SCENE;
else if ( type =3D=3D NAME_PLAYER ) =09
return OBJ_PLAYER;
}
function GetPlayerTypeFromName( nameString )
{
var type =3D nameString.substr(1,1); =09
if ( type =3D=3D PLAYER_NAME_IMAGE ) =09
return PLAYER_IMAGE;
else if ( type =3D=3D PLAYER_NAME_DRAW ) =09
return PLAYER_DRAW;
else if ( type =3D=3D PLAYER_NAME_TEXT ) =09
return PLAYER_TEXT;
}
function resetGifAnimation()
{
var temp =3D document.all["img1"].src;
document.all["img1"].src =3D temp;
}
Project =3D new Project(50, 0, 0, 2, 1, 0, =
"http://home-publishing.com/SKU/V3Pub.asp");
Scenes =3D new Object();
Scenes.Sx9 =3D new Scene( 10 );
Scenes.Sx9.entryTrans =3D new Transition( 16, 2, 0, 0 );
Scenes.Sx9.Bhv =3D new Array();
Scenes.Sx9.Bhv[0] =3D new Sound( 0, 0, -1, 2, "AW32", =
"cid:03db01bd9953$7fdf0720$5c5a389d@emma2.dns.microsoft.com" );
Scenes.Sx9.Players =3D new Object();
Scenes.Sx9.Players.PT12 =3D new Player( -1, -1 );
Scenes.Sx9.Players.PT12.entryTrans =3D new Transition( 12, 1, 0, 0 );
</SCRIPT>
</BODY></HTML>
------=_NextPart_001_0CFD_01BDBEBB.7FB17520--
------=_NextPart_000_0CFC_01BDBEBB.7FB17520
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-ID: <03d601bd9953$580faec0$5c5a389d@emma2.dns.microsoft.com>
X-Content-Source: X:\v3Contnt\clipmed\mmclips\j0073000\j0073965.gif
X-Global-Moniker: :HOMEPREM\MAIN\HMPRDIR2\J0073965.GIF
R0lGODlhOgIsAcT/AP//////zP/MzP/Mmf+ZzP+Zmfj4+PHx8e/Wxurq6ufn1uPj493d3dfX18zM
zMzMmcyZzMyZmcDAwLKysq2pkKCgpJmZmZlmZpaWloaGhnd3d2ZmZgAAAAAAAAAAAAAAACwAAAAA
OgIsAUAF/yAijmRpnmiqrmzrvnAsz3Rt33iu73zv/8Dg60AsGo7IpHLJbDqf0Kh0Sq1ar9isdsvt
er/gsHhMLndZ5rR6zW673/C4fE6vK9H2vH7P7/v/gIFxeIKFhoeIiYqLjEyEjZCRkpOUlZWPlpma
m5ydnluYn6KjpKWmhaGnqqusra5aqa+ys7S1orG2ubq7vIC4vcDBwsNiv8THyMl/B4bGys/Q0W3M
gs6z1NLZ2nFE1SvHCdt83eK74YHWttjlgAfn7KoN6N/J7/CG5Pee9kjrcum5Fuhj5G+gpAUClfAb
RE9ZgoIGDT2MGIkBE4huAOqS149iIotxFlLEuARkEpJZ8v9F0ahLwhKRHv8sUODODUp4N5MoKCkG
pqOGzw7sZJIwZiEGRdckxYnEpJQFC5168XkHqNGrfTiuoWogJxKuScBKorZUioOSYqt4ZanrQAWq
SLEKkiCVTN2XUypQSdtkggYMGQBn0OrEr4a/FRInnsCYsYTGFjQQfjIBg+UMFqDOZKCgs2YFCUJ3
7uzAQYMJFCxgUG25gQKoCRjIlj06webRryVkyCAhAoWVKxAK12x7uPHZyGUbFx66ufPnzZcvSE4d
uQIHDKBrL36cuu3qCCdYqLB7QmjYRSQg5C69unLp2+O3d0/9evb4zoWPbsC/f3/N0iFEX4D4aTcf
fdZhV2D/dAIugEEFB74X4IShGVDBBAYYmF0DernD4HsPCbYbBRNQo5IE/HhYkIlNoUZBBDBGgMB6
zlmwWwY0PVTcRF09VJNfDSTggI0SuLPAjRlUYONqlk3Qn2Ai3mjZlFNaIMGVDjDGX2mmNYAdA5VJ
GViVQ2LGmgUMCJBBdo81xhgLXDqAZZxcSuDAjJwpIMB1dV7pZ5f9KaBccvzJ5p9/o82W6GzT4TYo
coUy0B+di0rq55yC7skAZu5QE9oBUFHz4AQ0TYegpA0Yeih/jtLW2amw1icofbi9qihnrtZampd0
yimnnX/2GmcDAiYn6KEKpOrqe7SVNiedru3nH6CJLgBh/3EKBFtaOEidZ5u33X5bBAYW6XgArlAd
McF0SEww5m5UAoYBBfNmQAEC/YTjADYqUfauZRS8uFsE7iKQAJICMLGYY6ZJmoF5zBCx6W5oqlYB
k6y9GIGcbl4JQWIxKvmuvRFYYEHJMaas8sosR0CAAAIkQHA46wggIwsMiACbcAZIIMDO6xWxo6nM
NsulrQgogEB2NPooRRFQ++jjAUvvmEDVTffblHJQM4DBOqA256GFZ1Hz69G3LuDh1E9DTcTZDrxK
tNpioxT1c8tZR1rcSwOd0AEOkLebBlbG/V24Oiot269Yzoru2kZE4bbQRDh9xNBQZWCwivhp3YQC
GJ7Er/8BDkSwRDfkUYnkb5tisJPQEaz9aeXPESH4BA4ExtpqFrwIOJLABy/88EheRryY48GrGrzG
j4pBbxFI6W5gEQggr3g32ghvYiavpmQF+BqAQAbVLyACERO0ADNSSAmHwNGlvQ+zAA4IkOadpfEZ
t+JQtb9dp3fLj3GcAznaweZTUkOg26DTtLrJ7CzoAZVwOnUEC8huQZO7oAAJtKANTmiA2xEOcuY3
AvYN5zUVMsCRppQkxUwgZrZ5n53qpCAT1c0IHpIQCGdXQA8dUIQixIAAqKacDjKIPUhRAAWKxZz8
oCk2poKKAo4XGB3ZiG4HmIBLbnjDnnEqAe6K12oopgD/C1yAimg8XpSAFyXBKEkDmLkYHJmkPAww
pnd/eVAF4IiZ6VHgYlKaUsDG9EeUwShmuxEAAgoAI83hrITs02ED/xc1hFQuZyKgX/5Kg5woNpE7
1CFBt9bGpwR96VHDic5FSGfBbojAf6FZXGZqFzmI0O48xMHbt3iYQVC1T0LfAtBwqmOCzpQAOaJs
33Rio5jlee97Suodb8yntBlZzUjJYWKDophAG+ItVHXrB9QWQIGzOAGb7jmdAarXlXYqgRmMaWc3
DhC8NT7MNkeImgV2uUFcqq1HewzeYTDQFVCl8aAIZR4a+Ti4wTFUeMbLwGEeeiEJHKahxZMXBiIg
AQpo/+5mMFBkJz+4ngMaEToaZCBJmXhNHdVuQcPEpKCEY4F9jWCHDyljbLxDtGziFEAqnc4kb9jL
Xr7znZP7Dp+ShrhPIWF8FaCJRQI6JiqZMXYLTCABAVjU2R0VqUU1UTeOZLCpZbCgEZunWMOBANNB
gQEUgEgYk/QYCVzAoy4RaxImYBKvzVGigRHoRQHjzMA4xR9eaULEEsrYxg6PoRN9KPDGA5gXpW8F
uxThCPV3NJG6R7Ml/aR8aKSnbp3EVCRQ5NIwedImllaKjpNNOExWBHB+M1v7NBAXtfrSk4Ywlb5l
D0nZ89viSEgoEwWsBlD0QyPBp0Ci9dZWv1nEmB5RSP8UoI5Qgbsz6CRBABbMZ02WgIGykA6OGghN
BhLgUQ2EjkVP1ctJmKCbv0jUAgaYopQu1BjFkKd+N3CXZBeqOdWKAAMXJdybENAYgjH4sgiA3o1e
JALGtAxGFBjw9kYE0hSMdKXBNOkP8wYeDnZwpTN5DYoLZMADVqBIsZSpZ06YW1xmaINFzM91e7vV
HnWOqJMrqHjTKjR/Sme195vpdBCgSIRor0QIkJf9NPlL2YjgSopcH56YLAAshxZsmcXkMUd5uelm
scZBZQ4T7MFesMTzJX7ZIm886oAUM+5SE+CoFhsMIz7vRmSroRe9AuPfZqrmZAHTmMlMFjCVmSxG
vbP/Z2PPeIEzZsDSA7twy/icMjc9YMEuGAALVHRBFJs0uPgBLgOFW6zZkAA0PxPb7L6pWcRt0wFL
7ClydiqcWHtwgkX+UPyM9je9ohWmKDYWzEYwP5jFrwSXEoGzZPMnRT7GXjCTwPISZr734W9p3oZk
znJWzeqo+NQpFaCRTwiaI8GYlqRuzn3c1JgH59nBPhiAhSE8ggHEiN8rUK2BuZzagZtA1CP4dAQe
wHAEPCBGDziBwVMLBBIWvNnL9kGc2vQnJqdJkhRi0ITck0lhmVxppJmhsFDOWY5pMVZ3OwCMDpDl
TAp8aQawWQaBeGrewjus6Q6xcWKr3VpXx36KGioX/7tTV4xb+1JY4nLG600CNzGYYPSm+r37TG+V
XTbrWge7EMaecSZnktk4aDYPsuz0ZZd97DXIM8MjHpzjtHrc9zFQA3u+7pgmZ0+vQWxRwTq59iAk
CbLJl3YA97WT8JIZ5IxN30x9+NqKGcnKPKDb5OnDJV+d62C3sKZl9G/Ri35loe/66PuM9dRvffUs
e73XUw93qde+4ifozfBgRAO1B7ztNs942yeOgk7X4NMAP8EHk3Nx4CM9gjhcoOfLihAly8bAbdLi
Y0qfdRRY/ZUOzjPY8f31qlO9+K3nt9XFH/oKd1r1XBdB+k/feu6/f/6uzz+nL3z7/vuf2QI3fMP3
f/8m4HYWR4C3V2/7tgL0hoAO+IAQGIESOIEUWIEWeIEYmIEauIEc2IEe+IEgGIL/JxckWIImWAVs
cYIquIL3kIIs+IIwCA0uGIM0WIPAMIM2mIM6KAs4uIM++IOk0INAOIREaAlCWIRImISKcIRK2IRO
6AdM+IRSOIX/YBVUeIVY6AtWmIVcSISewwdR2IViaBSJNQdh6AllaIORM4Z+kIZwcIaf4IZI+IVs
mAZy2AZwGId1qFh3uIdRwBdvuIV+mA2AOIhO4BLqVAd5KApxYYhQgE+OaAV1QYdssIiiACqRKAV3
kYmnsxB9+AWWOAr8UIhsOBls8IlBMQXqgRdhwBf/oSgKpphPnNgE5jQNRvFPU1AXuAgGifWKolCL
S2Beswg4bUCKx4ANhTgUSYCIvDgFvjiLvNAAqDgFOVGG1oiGCxA4lGVV3bNoyxNH4hEv47E7YsQ7
JuNfE+BfmMEAEbCJVaECpgEogdIZW7I/jUIp0UKP0WIstOEajEIbucIl86iPtnIrnOGPg4IbrEJ0
s5IsjmMqoEFP+5Qny5IdDbOQycIrnsEZ+KiQ+2gd/fiQAJkn+jOQGVmQI+mQ/+iR0/UcGFmPG9ly
DiktKIkrBymSNjkaAomRJ8mQIbmS0sIAFfAl20V5EZRPeGMBQVJAPWIA0hg2UkNqpIM8AjFP0ZEj
/+/QS05jNlV1IxEAZO7gUVUkZJUzOkWgPZmBVl0xHIDmPS9nKYLDQmxUUxKQGLLxcqvSJWACSMBT
AcSSJYD0Qg9Dlm7DAvrIk7WSmK9CdLHSmDapKDP5kv3hmCCpN66xP7YiVFMUkbGhLLQhJGtidPWR
TT7FmAjSkIp5mPG4KqyZmhnpGvmYmLESW4LymqyJKChpmqgSKbNRKD80ko1ZUlG1JHwVm3LTSSP1
YUJhR4xBkQCpAC+mNlFEBBxSjn3URI2SjRhyLujyScQRMfKSaC9iM+SDdKAxPZjhT7KWHZdDBBrw
Fl4SHu6VIRugR7rDO3zJWNyDYHzUO6kBWGJiL/+pEWkjcjIwAjKHpCOEAzIPgjPhYFzWZFL8wgwJ
0GURVmdDhk7RhUPn0Ukd+ii5okynY5W2QaI9tTOMAn1ehBLhkI5fEV1d5EMealyRFKLahG4mmnnJ
Bpm2aXI+WmdOJV4ZYqF2UmyV40k4GjEfKlvE1XclJSGMslO4giOYcx5n5U4dMV8Xkk8MUJejom0S
JZZp2RRVpTrAw4xHACZtgwS6cRkAk2jYRk6D5lhpFAGvcT8SAAH3piTyIjJxJFF/YTKA+hepgV66
A1h0RGgIRj5hMiLCQwEJIyRDJE6StwK5ki1aVBpDRWJJoziU+WFG+Z2/9mGg+kFGgEtKlHedtxz/
mVFb0fFruMSk6sZ3yKZ0lBRAprZZnVFXXAImFxWgFZAdVYNNc/OqtcVd3KRusGQkt8RqQYMNvXFs
Pwd0RUY1b6FbDyGUZVmWDlKmqiON0wMhsNGOQtV3eecuFXAAuqE7i6YYdXYkdJpG6Who43FHYmJH
CGafcaQa9uVR/rmoFlBGgVFOE3BG6RhI8BKgSCIjpJJzAzAAAjA9LOAYoQd1vdIZB1gdjkdALvWs
3fUhmPdL12EwGYIeuIRAO0IEHytdweQjjCFBCBRaFSoeaCZytOpbNCJMpuYjKytCISsg4PYr+kdv
V7IxWTKO++pfq/GVUDRTqzpiHRsqUCliS+ZT/xxJsvwUWpYkHiz7LQyQP3viPkyjS7ZRPTDLdzV1
QQegPcRjR+qiAXHFDArgVlGwAHyVpt7Ktu61l/HaWPEiMv0Zl4JKMdojWWukYUiCGN9zoM2UsIIB
qdFjTiwwZeARXH7nmHd3d8gkk6+kTM5RNCmanI5JNRYwAkRFY5/UYpTHfNfxJ3piTEhmYk56uZQ5
P2nCdldyZQugbWP0nk7ZQucYjn7BbaxmXD/UWkDzHbWqY2DEtPFBrWlVIVrEObrUUVmbAG1KWBfC
ttuZQkmwT0+QVuI0lf+yG2cxEfDat+q7vnRaXxgFUYmRaR2GApiko0W5fParaifWNKAlmiDSKP+k
0Rn9JHIid1yd1xxW8rRaOxMmQ2sSilJBh7Ir5VN6B31lKWu1SsG9ZjNJozNuEVl8tFyxQaFro3mj
NWJHecEoy2LMmg+MUZDPeqS2ag82U7cYIBJtul5es07lITp7tZ1K0KWRgbiBFVgW0F/+pRo006yf
CxvGdLvOFjfr6liGmrgJBsLHA1laPFH8+avCUwFiOb8okD8g1783C13PdRwAeG6harLHIVxiBjNs
jFpMRVP7cjXqxh2gUbM227/fwVSwxB2olmoR4mqYJMcth5kkZMjyUzVDdiSHcSEX5QCHU8g5G1PY
2SBG0sc7Ezblahsz1qEkIhT6ezjdomphEVf/UfA8ayZRpnMkWXRXdNOyFaJzWekphxMBy7VHPiMA
YkkX6YjE3fNCB+gCWhSxVMwbGGcYh/FCZmfM9FYAjMR9+6bLiOtRd9UC46Zrp6K5n/rN4IykUGxl
Neoem4eU4aBtReBTQ1ez+FtlRLNaOrNMAfQc4tRVRmZlk9dzQPt2GGdC00E/UOcnuLOufmK35NPP
ERZ19WMn0nYlpcU25zR4opNURBVleYe8lrQAWdYbObN/KdNoviHS4lnSGhMjJY3SsHdhRCsBcEd8
zyyCOFB0EWKrRjcCnDXQ2nKxGBu7PJdNdlLMNP2sJ7uVF9Kk8rYz4sHPpaxbKps/o5E0UO3T/wOU
q+z2dwYmgL6XZfnLHBHrM+ZjPrgzSmrbIzTCxNhSZdjXGFeyde13Al33Qg0IYenzfqDGgMmnAxiH
dj7gz2UnfMAnBAboAgJoe4bdA1arSeOF1rGUyYVsZXJMQqXxfJbkeCg6AmB22UXX1ZXdBOpsPz1X
lmpiIm1c0YN82sRFq1CjJ5+30qAne1jHdagHe1m3abI3tPCnMjJdgMJXcP8H03rtewQI3CWQ1ymA
JZ4FTIMMoxhsgPPTKsqNwZ9bu5jnnXdHcEzmLm9XdSOQZwamfdkH266N26pH3gTj0vlXYSbAerFX
27C32zYgPhKn1WkX2E7Xf3s9A4F9AwPQcP/ytzIRh3AVZtwDfn43gNo0anblXQGdBnoMyHr7xn6v
12BxnXq8x3725iZeN+BVN9ur596od9uh99rdB98m3ns2QNw2J9jCLQMtfuIvQNegdm+DRDIpA+M4
nuM6vuM83uM4TtHQGOSG+IxCXuQ5SORGnuQwiORK3uQnyOROHuVYAeVSXuUUQeVWnuUtKIha3uVA
iOVeHubRAOZiXubIQOZmnubBgOZq3ua6wOZuHuezAOdyXuesQOd2nuelgOd63ueewOd+HuiZAOiC
XuiSQOiGnuiLgOiK3ujNwOWOHum7wOiSXul7QOmWrufTuAaYnumezhAq8Omirgbeq4WhPur/qE4G
xpgRkF4Lm57qWPHqZgDnu7gFtQ4Ft65YSUiJiT5epp4CsD4NvG7nq16Jre4GxX6KY1jqdj7sZnjs
wS7sdu6OdtDpfZDsuy7rnCiMeWDtfaDtXsjtWQ7uYODt4yDk2B6J5kXuV2DufCDug+jsRb4viUgH
7r4H8O6IPGLlZbHvVXjqyhCL0MjsTX4X7I6C0G4OspjkuW7k/r7wzw7wAS/l1J4G6T4QZcHuZXjv
gnDxVCjwXJhYRcKKYOCKCR+NX2XkQgEHB98LiQWJSZDvVmDyEq8MaPoVSo4dbyDz20DwTlAXFX8F
G3/yu3B4wajkCQDyZNDyAVEFDOAPPr8F/71I9Ltw84iX824Q9Es/Ctig9f1QFkqPBWnB8X0g7kyP
hI24Bjdx8B7fDkJaBVY/8ry4FlQf7YtAjFvxh2Nw9nRgjR/aAI+hAHoKMqlBs91TjoIknt7YsFj6
BGR/7VDA93sQZJSvCiLQFcBoBtru9RnCBcvjl3xwaEtSJfzlJ7OCotJ4Y+diHrHhGUpGee6iResF
HDWfDKBiR18IOOlS5NYC883YFTd/zmHfLvyhJObhBLEhZI2fiO4rIuNBFSuUAZkPBQown8sfMU45
JYuBHfyxHkKJJEd8JUESODdyIUPZIMxCNLOTs8QSJlHlG/P1jilQkwNSa7WCLNBd/xUsHP/4DwKK
yJClSS5Ls66ie8JMmiSLUVXH4vLKwkhipVSq1GO1eELTjOasEVPIRm85VCEV15+VSTTyptVu8wmN
ipVkLEshcDQMpB5dq/UuaIfDOY+Z1DhxySTA8QXyHf4sTGRgZED+yeTt8Rko8OWdJVQaeHoe8jVm
WFBQTGgG0uQ5OGZM6Mx8GpgtHDBoSCRkaCjQ5lVoQGZUPD5aSDhISIwOO2M8Rr6uTARNTDQ4wK0w
cDcYQ4c/VnRXTBhLGEQwJEzq0SDEy8/Hay/fL2vr709RjYx0CchAiZ07Ag8OfFFwyJMo7Bi8gqQL
Cic+zCr+UDBlm8Y7HanMubNiH8AvKGL/0Ek4UCXAGFFeOhRo0IrGLHXCvABzp8msnnyEKHCgIMEs
RTKCapih0yCXjCe9MJXgzNYgEgcw2ODESVMeA3wsDLPAgBYKigeE0uLkdU+tGT8OSIVkKsK6DBEE
CHCiYxiFioIo1pDB4ADYIgssaKjgqQIkC45JWXgkgZqjaM6GicOAo4KFCQ4q/JiwWbSFYpUxi3Mc
WTWkCQLsJsDQWTRjerYR7Eu2Td+ya/j22cunrY3Bkbp36wNJIrfubMlTGk/ufLhB5sMnMACu7c4r
HQe8FhlsQ8E5YoITZvutvYGJkdrfw+8nfz4LfvLrIERZh34S+yBhDhLeU/8ANIY7gQ2E/xsGwmgW
EkAOyDEEExGi8EM7GRARSBNUSfSdJxBVFg4FGIwIzSnsmLVLZOS0I2CFGd7gSgamUEAXBXYJcJc6
kGgwgScVfffZbNdgd4AGENriIQWJ0cJZiLLhANZll2X2GAYRVDOBlFgS6RsCy8QDgZhixkMAXgjQ
FQEkdyWgpiOdSSCAHLfRo4UDvk1Al2+6MdOlbi8qkEw8LSHATk+fHKLWobcIZphhgXFVAih6TarH
oV6hUEklRBWDoC+ecMFHBhLowNAel1aqqE8AfpGHgKoWFUpRq8SUX0EiuAcfcEQms1MKgTowqEGF
ErXNcsAhoWtNLaU0SXgjnFPEGScYMP9DJZTsYe2pnljwKaqLkRDMMBCCmFk0Ny4JyyzMfOtTIrtA
c1qNN1ogQLqtYGbOPXlOeZkwPP47TAURmAKWaqpxttlo13DWGQ7R/PEMY8SYw5gGyCxpl5ppctwx
IDbQIgIo2NE5T4XHIiAAEA6ojIACCCTw5T0C+EACsbImsi0oHq7Flh6aegj0qUB/qymim/5sdM9G
K6DBpTxzAhFRSXdy9NE+A6mz0N9pCmSsV+fctSC1hpQrcMnwSVKhQbX8csz40MzFzTRMWvXOYOul
dM8ZJqAFETyDUpQnWqa1ihlZGx22V04YsMziezSCDBUSWBABUWnxDJY4l0kQgQYU9JT/gGLtHrqL
I8WYSMFjpzTuCI39wh47lVLKHpaUmt1eWlgT0HiOBsbw0lgk5UlT+8W2LI4pUUOVLI9WqdAwUD7s
8Kxz0UIf7lei2WdvfQ1Q28xWouJzf7i0k9xCgQ0J/bQFu6o8QXQoOtCaobWIztq92OVDv/X29VeF
EA0xw0BYhpjgAYwUCCgKJXp2uMT9jCtRMAv+ZvG9T7SDAfGQAeAa56PCPdBuqAIcAz7YLgZYIHA9
mVi/UmgAxFAAQt9JgAU6KDRa/IgXoEOdbEqDA7rIoHZCrF04HBMv1kTiGBbDnQZ+5yQGkYhgarqA
eXhBohxRMQIHPA1kqlSBGnnCZTlC/8AAYMaL5sXDVVfIVP1IoDIGnImDmTDJCeTRA5fJwwowWQUY
nOWEl71sg4DM4xJcJAIBpKxehShUGWJBBAtown82lN/RytcHVmFyjz8bWyaLgBtlsGwSaxQlCSgn
ox6i4hbCwQcrt1OWd0hwgikSxBxUwrcBRi8BArBA9BLSEmelYmtq2QMDKqCVvO0MhVrxSe1keKMM
DAZyY+FaLPz4q+MdoBE97OHEAKGAIYKzX7RRTREjg5nTHRAHvCgNWIRBAQn8oXOIEYaW3MkMYZgD
NXKpHI1UVyM06YgueMmRmtAIs0IERzcDTZkbEVkomz2UoXB8owa9wEhpJe2YP7io/f/KcsuO5s1C
GTXKRYEmiAqk449BcUEUtMRLS8LUkpLsWlcGKMwUuMyPfAQmHWEgoIRqIx6ILCY3E/awCoRSACAL
jMresDa/SeuGq8ipLJuyifrJFKXg4aQs4ydJWqyDFtTUHg3FswgEZFMa4UgiBiRgpww4oEXXOMBQ
fkG3ncXmGoM7TbySOJlwAhY1axWiOoVBO9lYJhIOGx4LhcEg0zRxNBUb2GYio5llXOAuY3SaQVnp
2Xvow6FbKEMtVIIHLgRLGXFqWaE2mIqM6ONlJcgpI5eDGwmg9rar1WBrGak1tUhAMZWIaBo1KADK
WbKTyoXJi7amjC955g3JwItPX1L/QO18FrTZ9SxtTKOZhh3VLnCshlBs1tCE9ia1y6BuyvKYpGx9
UlCzdUBFI4koTigAK/Abmxvn0CI4Zu0JOqIVgTmBJfpZwnSxW9AHyTMWULnQaotbJlu8UrtPJSBg
gQWsE8nZ13BmRq1PgliIh8c7U6xVw5W5y43GaFChnillKiNtTBviRm3EeLQBFAjZPhnbi57ARTwO
T1Apt9FAmswIkAwmTa37olvS6rSdhIEISCICOgmkeYIxWQ1IU4zEwPNgUZKN5cTalITU1mWAPEFQ
rBzblWrwTtX4jWzr8TKHoGkCMhNOeaF8uMUt4gARWGBbNNG4GhJtFPHSjDMAEWVN/zBAfSnwGem4
Zi5X+MhD4trwMFTsDE8jkNOc/vDv4IkAHsmuiaprDV06C9o3YjI/ywXQkAFkOK7GxMkHOXJQVLcA
eZA2FQpYsqucUIKh7rqBpeItIWkcU6zVmHuwbeVDDTW4RWeFMZzZnOVe0bdJKwJ6Xg0F1faHy7zt
b2sGeI0t3rEpaMfvCXfrnE9UeAkXBs0rlpmN51pztL8dgAICiEWTBHa5S9EQYsNIxywWxIt/NTHi
nY54wCTeRFFjfNQLgvjFYac7jQ0ajaGr5RpYBdP/AQnda4lpsZOWIaRlNGkrb0itaIjW1768EsNu
RwZ5vIaT2Sw4OH4RuhW3raN3UP9wpCtdKl7TF4JvOnhNbOvn2CFu/SGuE0i/2wgFl4jHVQ2lFSo6
H30l78DlaFFe+cQCMHDwWTSNFyTg5b98kfTBMZwWDYAng4rXr776UF/MYIYx1750tVuQ06Du9MP/
nlh/dRzVoY78lL74uZCjMUt7Os6TdV3IRjJqtLN9KBRcFlvm8FkLz5uWzei4Qav/us0OoKvIvl6a
OS6Avq+fhAheyj3xzdR/6Ja2W5ir46u/pA+zDUpvuuT8zX8pHn+aQMWtGBgCzaS6Ano9FA7ESZaX
odqTyNMbtkPIA+E83t9J+0xpAU2wf0ebGqCB258ZgXbdiXTU1/DGuThZIlXW2/3/SPcNlENJHz1E
QD6F08XVCJd82inkycAwgxYRjGVQHMX9ASI51JngBe9QnjNUjlzoGRq5AW8cR7B0Xngsl81gVd4g
Ai45SrAJEPQA3AuyBSXA4CIEiAZVma/Nw9XVwFD4Xvn4z1rsDDWZW7QpoeeNnoy5gK7sg7Po1Pfg
QgJpQBzoxTu0hVchQqJwxVZgC/ZoC8xtiEYxAAYsEBC2kXnxVgoY4QJQwN31BAZASOk0RrW4XTtN
U7o5wP31zQu4StwkwARswDVsgAXgxu48X8JkoDwYoDyMYPO4CafpWZ7o2RYlxjUggCZuYiTaxiO+
WI70HZVMoifSiRfO2rhxIfbQ/1wAYZISmo+L9NQrtuKrDJoOpFEZDEHvHU4A9BIwhcTYweIlqeEw
GmMsGpdv/Vp/EQEvbAAFnKGqaQECbBRFndn2UZRxIVKwbFA9oOB14ZQM7FmSNJDXfEICJg7WeJIE
MJIZzAIcBs3Q9ERnrB0SBkNKuZ0EXMACoQpR5EgeHNtCydggHokD9AgQPJPmdVfDZCAosgwo7lnz
MYPizUg/zYs5cEyeZCSRpEmXdMxHfiS/XGATXUBmmaKW5QdPTdmszVpA9NbuseRLFGHdGIBoHMIW
9NyvEJtybc8X7pcexFVbDIS4BV+4jd2RCSMADQKM0Qw1QgqQ4QY1kkAEUJFTvv/GQZ4AgixHnGVj
bgiFW9XXMl5O7gmFC5heWXpjtTXFIphaCnaVCyLNAfzjBuKFaqFNKeCDaNzIMezLjWBJn3gkR1JW
lBiR6/STiZhLYl6aYLHVZbwOjYCkx5xk89DlI0Lki2FmZmrZGwXF7qlkSrqESgqZE9ZBTg0BFKJm
Z/bE33AhRSDXr+Uiq+ycGTjSK5rAUECZz1iPuwhT9iSfUuqaGxSgAeLFAryBdK2XYIASLbQCBkxC
tTiCHx3h5ZChufmZKmJNb4Ib4sTGQZ3cpqSC86VJJ3aJZprnbZzkZELi853kAJRRjA1AjMkYcQ6n
eS6UfJ5nfupnfm4GlziferT/o6uAXtY1WQCBlq4cZwEKFXmy5yL2J3vig3JwgezJwDuJnxCkgJYg
XzFeFXjyEcwMDcolV6ztGH4OZ/mh5kPWpVNmB8sA5IxVTc5ASgyGYQTxTf/U5kyYTzTdoEMoKALU
SAkxgzzARW+wY/NppPN94pkUAJ1w4jxMZhmRkXvGg5S655XuZ35eJlMuqUB+Ynv9qH3iJz08QJaa
aWxa11LKmGfumPa5hHIRo63VwiVR41rSmpq6xSbRj+j4iFuqwgJokbgtV9G1H9hAW0zKZkDKpwY6
YgGmIBPEjwP4JTumiQMI6g+Un1NJnyU2qJ5wZEd6JEg+KXv6Z4Oa6qmq55lm/+aWUuaXzic9eCmM
rWl7hSKrNmqsxqqq6qpmZgISgkJqUdeNIqqEGN9AUFfYxIzLfJ1X4CaxDMqy0tX39GrP/CpuvIS9
fUJw/cJ1focyORCiwunv+cydOtsxFhrZmIBAGuk1ROZGoipHsmupoupfMih7xsO7Nuiu6uu+ruqJ
zueW2mrJ1CdmVmbBBiy/niccNRT6dRXwSVKcdsGYupZYgsp2mGU4jqXFukGhvFGwxtIekZak7uaP
5JQcoKERUmu1gOvS9ea4wVvfcJLqaWFGzsMEtuvN4iyodmK94qtGemq8fqqnbmRk2ivCwmqYhuK/
+qvRotGJKqjEMq3ROlSqGv+URmamwrYoy7TXU+ABhpYrcIar/siouLbPCYTW1srAACLOLCCA2y0N
ua2CvRjXYCxK90kfYOYs0fYspxatz8qr32JJPPwtqOZtqObt4WJe1O6qAZzpfTot0r4qU5oo5O4n
78jFXHSk4tKqQV0m1OYnkUCpfj6ZucZiVyVJ+dTprdnor5iAV0WBjurS6CbreQrUelLtJiJuSIqn
x+Tsp8ar7krm3grv82HJzWru8Wbpoh4sZT7umOYq8i6oq0KvQT1Amd6GlE7vbQhZSqaMXeLGmYCW
UClDvtbrz/oszz4p+pYneQquf3rqvZoi6NoGqPYsl5jvvGqi8Bbu365v9vr/7/+26n5q4PPK6vEC
7PLOAwED8PFWIuByzAJDcARL8ARTcAVb8AVjcAZr8AZzcAd78AeDcAiL8AiTcAmb8AmjcAqr8Aqz
cAu78AvDcAzL8AzTcA3b8A3jcA6f6UweXg/78A8DcRAL8RATcREb8REjcRIr8RIzcRM78RNDcRQ7
sUFJcRVb8RVjcRZr8RZzcRd78ReDMRJTcRiTcRmb8RmjcRqr8Rqz8ROPcRvDcRzL8RzTcR3bcR2/
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
OtKTrvSlM73pTn861KMu9amHAAA7
------=_NextPart_000_0CFC_01BDBEBB.7FB17520
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-ID: <0cf401bdbef6$2bb311f0$ed5d389d@superwonker.dns.microsoft.com>
X-Content-Source: C:\TEMP\IMG4CF.GIF
R0lGODlhOwItAff/AP39/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP39/SH5BAEBAP8ALAAAAAA7Ai0B
QAiuAP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX
MGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOK
HUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5
suXLmDNrSN7MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx
48iTK1/OvLnz59CjS59Ovbr169izaznfzr279+/gw4sfT768+fPo06tfz769+/fw48ufT7++/fv4
8+vfz7+///8ABijggAQWaOCBCCao4II0DDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo
4okopqjiiiy26OKLMMYo44w01i1o44045qjjjjz26OOPQAYp5JBEFmnkkUgmqeSSTDbp5JNQRinl
lFRWaeWVWGYpqeWWXHbp5ZdghinmmGSWaeaZaKap5ppstunmm3DGKeecdNZp55145qkn55589unn
n4AGKuighBZq6KGIJqrooow26uijkEYq6aSUVmrppZhmI6rpppx26umnoIYq6qiklmrqqaimquqq
rLbq6quwxirrrLTWImrrrbjmquuuvPbq66/ABivssMQWa+yxyCar7LLMNuvss9AfRivttNRWa+21
2Gar7bbcduvtt+CGK+645JZr7rnoph6r7rrstuvuu/DGK++89NZr77345qvvvvz26++/AAccLPDA
BBds8MEIJ6zwwgw37PDDEEcs8cQUV2zxxRsYZ6zxxhx37PHHIIcs8sgkl2zyySinrPLKLLca7PLL
MMcs88w012zzzTjnrPPOPPfs889ABy0M9NBEF2300UgnLW1AADs=
------=_NextPart_000_0CFC_01BDBEBB.7FB17520
Content-Type: audio/midi
Content-Transfer-Encoding: 7bit
Content-ID: <03db01bd9953$7fdf0720$5c5a389d@emma2.dns.microsoft.com>
X-Content-Source: X:\v3Contnt\clipmed\sound\j0074000\j0074279.mid
X-Global-Moniker: :HOMESNMM\MAIN\J0074279.MID
------=_NextPart_000_0CFC_01BDBEBB.7FB17520
Content-Type: application/x-font
Content-Transfer-Encoding: 7bit
Content-ID: <0cfa01bdbef6$2bfdfda0$ed5d389d@superwonker.dns.microsoft.com>
X-Content-Source: Papyrus.eot
------=_NextPart_000_0CFC_01BDBEBB.7FB17520--